1. Field of the Invention
The present invention relates to a data transmission method in which the transmitted data are scrambled (encoded) by a predetermined rule at the transmitting end to prevent concentration of power caused by a run of identical bits, and descrambled (decoded) at the receiving end. The invention also relates to a data transmission system, a data transmitter, and a data receiver employing this method.
2. Description of the Related Art
FIG. 1 shows a conventional data transmission system comprising a transmission channel 300, a data transmitting apparatus 400, and a data receiving apparatus 500. The data transmitting apparatus 400 comprises an encoder 401 and a transmitting unit 402. The data receiving apparatus 500 comprises a decoder 501 and a receiving unit 502. The encoder 401 comprises a scrambling code generator 40 and an exclusive-OR (XOR) gate 46. The decoder 501 comprises a scrambling code generator 50 and an XOR gate 56. The scrambling code generator 40 in the encoder 401 is a linear feedback shift register comprising register cells 41, 42, 43, 44 and an XOR gate 45, which generate a cyclic code with the generator polynomial Y=X4+X+1. The scrambling code generator 50 in the decoder 501 is a similar linear feedback shift register comprising register cells 51, 52, 53, 54 and an XOR gate 55, which generate the same cyclic code.
A reset signal (RESET) resets the scrambling code generators 40 and 50 at both the transmitting and receiving ends. Register cells 41 and 51 are reset to ‘1’; register cells 42, 43, 44, 52, 53, and 54 are reset to ‘0’. Following a reset, XOR gate 46 in the encoder 401 scrambles input data (INDATA) by XORing the successive input bits with successive code bits generated in scrambling code generator 40.
The bits of scrambled data are supplied from XOR gate 46 to the transmitting unit 402, which sends scrambled data to the receiving apparatus 500 through the transmission channel 300. The receiving unit 502 receives the scrambled data and supplies the successive bits of received data to XOR gate 56, which descrambles the data by XORing the successive bits with the output of the scrambling code generator 50. The decoder 501 outputs the descrambled bit data as output data (OUTDATA).
When each INDATA bit is input to XOR gate 46 in the scrambling code generator 40, the existing values in register cells 41, 42, and 43, and the logical exclusive OR of the values in register cells 43 and 44 are shifted into register cells 42, 43, 44, and 41, respectively; the scrambling code is output from register cell 44. Similarly, when each bit of data is input to XOR gate 56 in the scrambling code generator 50, the existing values in register cells 51, 52, and 53, and the logical exclusive OR of the values in register cells 53 and 54 are shifted into register cells 52, 53, 54, and 51, respectively; register cell 54 outputs the same scrambling code as at the transmitting end.
In addition to the conventional data transmission system shown in FIG. 1, there are also data transmission systems (disclosed in Japanese Patent Application Publications Nos. H9-83390 and H9-83391, for example), in which a data packet received by the decoder is not descrambled in the descrambling circuit when the packet includes invalid data in which an error is detected by use of a cyclic redundancy check (CRC) code, or when the packet is a parity packet.
In the conventional data transmission systems described above, packets are transmitted in fixed formats in which header information is added to the payload data or text. The header has a predetermined bit length. Most header formats include bits that almost always have predetermined default values and are only rarely used to transmit non-default information. For example, many formats include an urgent flag bit that is almost always ‘0’, indicating the normal state, and is only rarely set to ‘1’ to indicate an urgent packet. The header has to include this bit, because when set to ‘1’ it conveys important information, but when cleared to ‘0’, this bit serves only to increase the transmission overhead. The same is true of other header bits that convey important information that occurs with a low frequency. Due to the additional transmission overhead caused by such bits, the transmission channel is not used as effectively as could be desired.